A スマートポインター は、ポインターのように振る舞う抽象データ構造ですが、追加の メタデータ および、その指すデータを管理するためのロジックを備えています。標準的な参照(&T)は単なるメモリアドレスである——「無知な」ポインターです。一方、 スマートポインターのパターン Rustでは、所有権、アクセス制御、自動クリーンアップのためのカスタムルールを持つポインターを構造体でラップすることで実現されています。
メタデータの利点
標準的な参照を 基本的な家の鍵と考えてください。それは入り口を提供しますが、それ以上のことはありません。一方、スマートポインターは キーカードシステムです。カードにはメタデータ(アクセスログ、権限、有効期限)が記録され、あなたが去る際にドア(クリーンアップ)を自動的にロックできます。
コアとなるロジック
Rustでは、スマートポインターは Deref および Drop トレイトを実装することで定義されます。これにより、アクセス時や破棄時にカスタムロジックを実行しながら、参照のように振る舞うことができます。
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>